package com.ym.medical.domain.param;

import com.ym.common.constant.BeanCovert;
import com.ym.medical.domain.entity.SymptomPartEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * ComputerName:LAPTOP-I6GKDIFQ
 * Author:admin
 * Date: 2019-06-04
 * Time: 16:32:23
 * Comment:查询扩展工具类
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class SymptomPartParam extends BeanCovert<SymptomPartEntity> {
    @ApiModelProperty("症状标识")
    @NotNull(message="症状标识不能为空!",groups = {Update.class})
    private Long id;

    @ApiModelProperty("症状名称")
    @Size(max = 128 , message = "症状名称长度必须在{min}和{max}之间",groups = {Add.class,Update.class})
    private String symptomName;

    @ApiModelProperty("症状描述")
    @Size(max = 10000 , message = "症状描述长度必须在{min}和{max}之间",groups = {Add.class,Update.class})
    private String symptomDesc;

    @ApiModelProperty("相关疾病")
    @Size(max = 500 , message = "相关疾病长度必须在{min}和{max}之间",groups = {Add.class,Update.class})
    private String relSymptom;

    @ApiModelProperty("部位名称")
    @Size(max = 32 , message = "部位名称长度必须在{min}和{max}之间",groups = {Add.class,Update.class})
    private String partName;

    @ApiModelProperty("子部位名称")
    @Size(max = 32 , message = "子部位名称长度必须在{min}和{max}之间",groups = {Add.class,Update.class})
    private String subPartName;

    @ApiModelProperty("科室名称")
    @Size(max = 32 , message = "科室名称长度必须在{min}和{max}之间",groups = {Add.class,Update.class})
    private String deptName;

    @ApiModelProperty("科室编码")
    @Size(max = 6 , message = "科室编码长度必须在{min}和{max}之间",groups = {Add.class,Update.class})
    private String subDeptCode;

    @ApiModelProperty("状态")
    @Size(max = 2 , message = "状态长度必须在{min}和{max}之间",groups = {Add.class,Update.class})
    private String state;

    @ApiModelProperty("状态")
    private String stateName;

    @ApiModelProperty("症因")
    private String cause;

    @ApiModelProperty("诊断详述")
    private String diagnosticDetails;

    @ApiModelProperty("就诊指南")
    private String guide;

    @ApiModelProperty("部位id")
    private Long partId;

    @ApiModelProperty("子部位id")
    private Long subPartId;

    public interface Add {

    }

    public interface Update {

    }



}
